package com.leemon.mall.sys.service;

import com.leemon.mall.sys.model.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 系统用户 服务类
 * </p>
 *
 * @author leemon
 * @since 2019-09-04
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 修改密码
     *
     * @param userId
     * @param password
     */
    SysUser updatePasswordByUserId(Long userId, String password);

    /**
     * 保存用户及对应的角色关系
     *
     * @param sysUser
     */
    void saveUserAndUserRole(SysUser sysUser);

    /**
     * 更新用户及对应的角色关系
     *
     * @param sysUser
     */
    void updateUserAndUserRole(SysUser sysUser);

    /**
     * 批量删除用户
     *
     * @param userIds
     * @param shopId
     */
    void deleteBatch(Long[] userIds, Long shopId);

    /**
     * 根据用户名获取用户信息
     *
     * @param username
     * @return
     */
    SysUser getByUserName(String username);

    /**
     * 根据用户userID获取用户信息
     *
     * @param userId
     * @return
     */
    SysUser getByUserId(Long userId);

    /**
     * 根据用户userId删除用户缓存信息
     *
     * @param userId
     */
    void evictSysUserById(Long userId);

}
